package sctu.edu.java.year2016.team06.yuweimei.day20160605.chapter12_2;

/**
 * 编写程序，使用字符输入、输出流读取文件，将一段文字加密后存入文件，然后再读取，并将加密前与加密后的文件输出。
 * Created by asus on 2016/6/5.
 */

import sctu.edu.java.year2016.team06.luoxin.day20160605.chapter12_2.Encryption;

import java.lang.System;

public class JaMi {
    public static String EAndU(String value, int secret) {  //将value加密，再对secret密文加密
        byte[] m = value.getBytes();                         //将需要加密的内容转换为字节数组
        for (int a = 0; a < m.length; a++) {
            m[a] = (byte) (m[a] ^ (int) secret);           //用异或运算进行加密
        }

        return new String(m, 0, m.length);                  //返回加密后的字符串
    }

    public static void main(String[] args) {
        String value = "好好学习 天天向上";                            //需要加密的内容文件
        int secret = 2;                                       //密文字符
        System.out.println("原字符串为：" + value);

        String encryption = Encryption.EAndU(value, secret);
        System.out.println("加密之后的文件：" + encryption);
        String uncryption = Encryption.EAndU(encryption, secret);
        System.out.println("解密之后的文件：" + uncryption);
    }

}


